/**
 * ...
 * @author 
 */

package scuts.ds;


interface Set<T>
{
    public function add (elem:T):Bool;
	  public function addAll (iterator:Iterator<T>):Void;
    public function remove (elem:T):Null<T>;
    public function exists (elem:T):Bool;
    public function elems ():Iterable<T>;
    public function iterator ():Iterator<T>;
    public function removeAll ():Void;   
}